package repaso;

import java.util.SortedSet;
import java.util.TreeSet;

import junit.framework.Assert;

import org.junit.Test;

public class CiudadTest {
	private Ciudad ciudad;

	@Test(expected = MismaIdException.class)
	public void addLugarMismaIDTest() throws MismaIdException {
		this.ciudad = new Ciudad("Buenos Aires");
		Lugar Belgrano = new Lugar(1, "Belgrano", 54, 41);
		this.ciudad.agregar(Belgrano);
		this.ciudad.agregar(new Lugar(1, "Caballito", 33, 11));
	}

	@Test
	public void addLugarTest() throws MismaIdException {
		this.ciudad = new Ciudad("Buenos Aires");
		Lugar Belgrano = new Lugar(1, "Belgrano", 54, 41);
		this.ciudad.agregar(Belgrano);
		this.ciudad.agregar(new Lugar(2, "Caballito", 33, 11));
	}

	@Test
	public void lugaresOrdenadosAlfabeticamenteTest() throws MismaIdException {
		this.ciudad = new Ciudad("Buenos Aires");
		this.ciudad.agregar(new Lugar(1, "Belgrano", 54, 41));
		this.ciudad.agregar(new Lugar(2, "Caballito", 33, 11));
		SortedSet<Lugar> lugares = new TreeSet<Lugar>(new LugaresComparador());
		lugares.add(new Lugar(1, "Belgrano", 54, 41));
		lugares.add(new Lugar(2, "Caballito", 33, 11));

		Assert.assertEquals(lugares, this.ciudad.getLugaresPorNombre());
	}

	@Test
	public void lugaresOrdenadosPorId() throws MismaIdException {
		this.ciudad = new Ciudad("Buenos Aires");
		this.ciudad.agregar(new Lugar(1, "Belgrano", 54, 41));
		this.ciudad.agregar(new Lugar(2, "Caballito", 33, 11));
		SortedSet<Lugar> lugares = new TreeSet<Lugar>(
				new IdDeLugaresComparador());
		lugares.add(new Lugar(1, "Belgrano", 54, 41));
		lugares.add(new Lugar(2, "Caballito", 33, 11));

		Assert.assertEquals(lugares, this.ciudad.getLugaresPorNombre());
	}
}
